{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.8 多层感知机"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pylab as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def xyplot(x_vals, y_vals, name):\n",
    "    #set_figsize(figsize=(5, 2.5))\n",
    "    plt.plot(x_vals.detach().numpy(), y_vals.detach().numpy())\n",
    "    plt.xlabel('x')\n",
    "    plt.ylabel(name + '(x)')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = torch.arange(-8.0, 8.0, 0.1, requires_grad=True)\n",
    "y = x.relu()\n",
    "xyplot(x, y, 'relu')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y.sum().backward()\n",
    "xyplot(x, x.grad, 'grad of relu')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y = x.sigmoid()\n",
    "xyplot(x, y, 'sigmoid')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x.grad.zero_()\n",
    "y.sum().backward()\n",
    "xyplot(x, x.grad, 'grad of sigmoid')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y = x.tanh()\n",
    "xyplot(x, y, 'tanh')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x.grad.zero_()\n",
    "y.sum().backward()\n",
    "xyplot(x, x.grad, 'grad of tanh')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y = 2 ** x\n",
    "xyplot(x, y, '2^x')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y = 0.5 ** x\n",
    "xyplot(x, y, '0.5^x')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
